/**
 * 
 */
package com.obligatorio.domain;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

import javax.faces.bean.SessionScoped;
import javax.naming.NamingException;

import org.apache.log4j.Logger;

import com.obligatorio.domain.utils.CryptoUtils;
import com.obligatorio.persist.dao.GenericDAO;

/**
 * @author nbordenave
 * 
 */
@SessionScoped
public class UsuarioManager {

	private static final Logger log = Logger.getLogger(UsuarioManager.class
			.getName());

	public Usuario recuperarPass(String user, String nombre, String apellido) {
		log.info(" recuperarPass()");
		Usuario objUsuario = null;

		// TODO BORRAR pruebas mail
		objUsuario = new Usuario();
		objUsuario.setNombre("Test");
		objUsuario.setApellido("Mail");
		return objUsuario;
	}

	public int salvarPass(String user, String pass) {
		log.info(" salvarPass()");
		Connection conn = null;
		String hash;
		int res = -1;
		Statement st = null;
		try {
			conn = GenericDAO.getInstance().getConnection();
			hash = CryptoUtils.encriptarPass(pass);

			String sql = "update usuarios set pass ='" + hash
					+ "' where usuario ='" + user + "'";

			st = conn.createStatement();
			res = st.executeUpdate(sql.toString());

			if (!conn.isClosed()) {
				conn.close();
			}
			log.info(" res : " + res);

		} catch (NamingException e) {
			log.error(e.getLocalizedMessage());
			e.printStackTrace();
		} catch (SQLException e) {
			log.error(e.getLocalizedMessage());
			e.printStackTrace();
		} catch (Exception e) {
			log.error(e.getLocalizedMessage());
			e.printStackTrace();
		}

		return res;
	}

}
